/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Servlet;


import java.io.IOException;
import java.io.PrintWriter;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import clases.*;
import javax.servlet.http.HttpSession;

/**
 *
 * @author ad
 */
public class EditarUsuario extends HttpServlet {
   
    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
              //por si entra sin loguearse al serlet
        HttpSession sesionOk = request.getSession();
            if (sesionOk.getAttribute("Usuario") == null) {
            response.setContentType("text/html;charset=UTF-8");
            response.sendRedirect("/ProyectoBases2/index.jsp");
        }
    } 

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
          String antiguo=request.getParameter("edit0");
          String clave1=request.getParameter("edit1");
          String clave2=request.getParameter("edit2");
          String nombre=request.getParameter("editar_nombre_actual");

            Conexion nueva=new Conexion();
            Error_Data misErrores=new Error_Data();

                    //que los dos password sean iguales
                    if(clave1.compareTo(clave2)!=0){
                        misErrores.EscribirMensajes("Error passwords no coinciden", response,"Regresar","Editar_Usuario.jsp");
                    }else if(misErrores.CaracterExtraño(clave1)){//no tengan carcteres esxtraños
                        misErrores.EscribirMensajes("Error caracteres extraños en el password",response,"Regresar","Editar_Usuario.jsp");
                    }else{ //si todo esta bien se actualiza el password
                        try {
                            //si todo esta bien se actualiza el password
                            boolean x= nueva.actualizarPasswordusuario(nombre, clave1,antiguo);
                            if(x==true)
                            misErrores.EscribirMensajes("Se actualizo el password del usuario: " + nombre, response, "Continuar", "Editar_Usuario.jsp");
                            else
                             misErrores.EscribirMensajes("Ocurrio un Error intente de nuevo: ", response, "Continuar", "Editar_Usuario.jsp");

                        } catch (Exception ex) {
                            Logger.getLogger(EditarUsuario.class.getName()).log(Level.SEVERE, null, ex);
                        }
                    }
                                                   
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
